package view;
import java.awt.EventQueue;

import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.swing.JFrame;
import javax.swing.JButton;

import java.awt.Color;

import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.UIManager;
import javax.swing.UIManager.LookAndFeelInfo;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Font;

import javax.swing.SwingConstants;

import model.*;
import control.*;

public class GrundGUI {

	final String stoneClickSound = "/Sounds/StoneClick.wav";
	
	final String wonGame = "/Sounds/GewonnenesSpiel.wav";

	byte schriftGroesse;

	private byte byteSpaltenWert;

	private byte byteZeilenWert;
	
	final JButton[][] btnFeld = new JButton[9][9];
	
	final String[][] strFalscheZahlen = new String[9][9];

	private Sudoku sudoku;

	private JFrame frmSudokuSpiellehrMit;
	
	private JLabel lblSternEins;
	
	private JLabel lblSternZwei;
	
	private JLabel lblSternDrei;
	
	private static JLabel lblUhr;
	
	private Stoppuhr stoppuhr;
	
	private static GrundGUI window;
	
	private JButton btnAuflsn;
		
	public void setGrundGUI(GrundGUI window) {
		GrundGUI.window = window;
	}
	
	public JFrame getJFrame(){
		return frmSudokuSpiellehrMit;
	}
	
	public void setSudoku(Sudoku sudoku) {
		this.sudoku = sudoku;
	}
	
	public Sudoku getSudoku() {
		return this.sudoku;
	}
	
	public GrundGUI() {
		initialize();
	}
	
	public void stringArrayInitialisieren() {
		for (int i=0; i<9; i++) {
			for (int j=0; j<9; j++) {
				strFalscheZahlen[i][j]="";
			}
		}
	}

	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize() {

		try {
			for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
				if ("Nimbus".equals(info.getName())) {
					UIManager.setLookAndFeel(info.getClassName());
					break;
				}
			}
		} catch (Exception e) {
			// Wenn Nimbus nicht vorhanden, kann man das Look & Feel noch
			// aendern
		}

		// Deklarieren des neuen Frames
		frmSudokuSpiellehrMit = new JFrame();
		frmSudokuSpiellehrMit
				.setTitle("Sudoku Spiel-Lehr mit Keks und Kr\u00FCmel");
		frmSudokuSpiellehrMit.getContentPane().setBackground(
				new Color(102, 153, 153));
		frmSudokuSpiellehrMit.setResizable(false);
		frmSudokuSpiellehrMit.setBounds(0, 0, 1024, 768);
		frmSudokuSpiellehrMit.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frmSudokuSpiellehrMit.getContentPane().setLayout(null);
		frmSudokuSpiellehrMit.setVisible(true);
		//setBackgroundColor(frmSudokuSpiellehrMit.getBackground());
		
		// Erstellen eines Button Arrays für das Zahlenfeld
		final JButton[] btnZahlenFeld = new JButton[9];
		
		// Button um die Farbe in Grün zu ändern
		JButton btnGruen = new JButton("");
		btnGruen.setToolTipText("Möchtest du einen grünen Hintergrund?");
		btnGruen.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				frmSudokuSpiellehrMit.getContentPane().setBackground(
						new Color(153, 204, 51));
			}
		});
		btnGruen.setBackground(new Color(153, 204, 51));
		btnGruen.setBounds(961, 471, 40, 40);
		frmSudokuSpiellehrMit.getContentPane().add(btnGruen);

		// Button um die Farbe in Blau zu ändern
		JButton btnBlau = new JButton("");
		btnBlau.setToolTipText("Möchtest du einen blauen Hintergrund?");
		btnBlau.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				frmSudokuSpiellehrMit.getContentPane().setBackground(
						new Color(0, 153, 204));

			}
		});
		btnBlau.setBackground(new Color(0, 153, 204));
		btnBlau.setBounds(909, 420, 40, 40);
		frmSudokuSpiellehrMit.getContentPane().add(btnBlau);

		// Button um die Farbe in Gelb zu ändern
		JButton btnGelb = new JButton("");
		btnGelb.setToolTipText("Möchtest du einen gelben Hintergrund?");
		btnGelb.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				frmSudokuSpiellehrMit.getContentPane().setBackground(
						new Color(255, 215, 0));
			}
		});
		btnGelb.setBackground(new Color(255, 215, 0));
		btnGelb.setBounds(961, 420, 40, 40);
		frmSudokuSpiellehrMit.getContentPane().add(btnGelb);

		// Button um die Farbe in Pink zu ändern
		JButton btnPink = new JButton("");
		btnPink.setToolTipText("Möchtest du einen pinken Hintergrund?");
		btnPink.setBackground(new Color(255, 153, 255));
		btnPink.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				frmSudokuSpiellehrMit.getContentPane().setBackground(
						new Color(255, 153, 255));
			}
		});
		btnPink.setBounds(909, 522, 40, 40);
		frmSudokuSpiellehrMit.getContentPane().add(btnPink);

		// Button um die Farbe in Meeresgrün zu ändern
		JButton btnMeeresGruen = new JButton("");
		btnMeeresGruen.setToolTipText("Möchtest du einen blau-grauen Hintergrund?");
		btnMeeresGruen.setBackground(new Color(102, 153, 153));
		btnMeeresGruen.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				frmSudokuSpiellehrMit.getContentPane().setBackground(
						new Color(102, 153, 153));
			}
		});
		btnMeeresGruen.setBounds(961, 522, 40, 40);
		frmSudokuSpiellehrMit.getContentPane().add(btnMeeresGruen);

		// Button um die Farbe in Rot zu ändern
		JButton btnRot = new JButton("");
		btnRot.setToolTipText("Möchtest du einen roten Hintergrund?");
		btnRot.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				frmSudokuSpiellehrMit.getContentPane().setBackground(
						new Color(204, 0, 0));
			}
		});
		btnRot.setBackground(new Color(204, 0, 0));
		btnRot.setBounds(909, 471, 40, 40);
		frmSudokuSpiellehrMit.getContentPane().add(btnRot);

		/*
		 * Im Folgenden werden die Buttons deklariert, welche das Sudoku-Feld
		 * repräsentieren.
		 */
		JButton btnFeld1_1 = new JButton("");
		btnFeld1_1.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld1_1.setBackground(Color.WHITE);
		btnFeld1_1.setBounds(104, 167, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld1_1);
		btnFeld[0][0] = btnFeld1_1;

		JButton btnFeld1_2 = new JButton("");
		btnFeld1_2.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld1_2.setBackground(Color.WHITE);
		btnFeld1_2.setBounds(155, 167, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld1_2);
		btnFeld[0][1] = btnFeld1_2;

		JButton btnFeld1_3 = new JButton("");
		btnFeld1_3.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld1_3.setBackground(Color.WHITE);
		btnFeld1_3.setBounds(205, 167, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld1_3);
		btnFeld[0][2] = btnFeld1_3;

		JButton btnFeld1_4 = new JButton("");
		btnFeld1_4.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld1_4.setBackground(Color.WHITE);
		btnFeld1_4.setBounds(256, 167, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld1_4);
		btnFeld[0][3] = btnFeld1_4;

		JButton btnFeld1_5 = new JButton("");
		btnFeld1_5.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld1_5.setBackground(Color.WHITE);
		btnFeld1_5.setBounds(307, 167, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld1_5);
		btnFeld[0][4] = btnFeld1_5;

		JButton btnFeld1_6 = new JButton("");
		btnFeld1_6.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld1_6.setBackground(Color.WHITE);
		btnFeld1_6.setBounds(356, 167, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld1_6);
		btnFeld[0][5] = btnFeld1_6;

		JButton btnFeld1_7 = new JButton("");
		btnFeld1_7.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld1_7.setBackground(Color.WHITE);
		btnFeld1_7.setBounds(409, 167, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld1_7);
		btnFeld[0][6] = btnFeld1_7;

		JButton btnFeld1_8 = new JButton("");
		btnFeld1_8.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld1_8.setBackground(Color.WHITE);
		btnFeld1_8.setBounds(460, 167, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld1_8);
		btnFeld[0][7] = btnFeld1_8;

		JButton btnFeld1_9 = new JButton("");
		btnFeld1_9.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld1_9.setBackground(Color.WHITE);
		btnFeld1_9.setBounds(510, 167, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld1_9);
		btnFeld[0][8] = btnFeld1_9;

		JButton btnFeld2_1 = new JButton("");
		btnFeld2_1.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld2_1.setBackground(Color.WHITE);
		btnFeld2_1.setBounds(104, 217, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld2_1);
		btnFeld[1][0] = btnFeld2_1;

		JButton btnFeld2_2 = new JButton("");
		btnFeld2_2.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld2_2.setBackground(Color.WHITE);
		btnFeld2_2.setBounds(155, 217, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld2_2);
		btnFeld[1][1] = btnFeld2_2;

		JButton btnFeld2_3 = new JButton("");
		btnFeld2_3.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld2_3.setBackground(Color.WHITE);
		btnFeld2_3.setBounds(205, 217, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld2_3);
		btnFeld[1][2] = btnFeld2_3;

		JButton btnFeld2_4 = new JButton("");
		btnFeld2_4.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld2_4.setBackground(Color.WHITE);
		btnFeld2_4.setBounds(256, 217, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld2_4);
		btnFeld[1][3] = btnFeld2_4;

		JButton btnFeld2_5 = new JButton("");
		btnFeld2_5.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld2_5.setBackground(Color.WHITE);
		btnFeld2_5.setBounds(307, 217, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld2_5);
		btnFeld[1][4] = btnFeld2_5;

		JButton btnFeld2_6 = new JButton("");
		btnFeld2_6.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld2_6.setBackground(Color.WHITE);
		btnFeld2_6.setBounds(356, 217, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld2_6);
		btnFeld[1][5] = btnFeld2_6;

		JButton btnFeld3_1 = new JButton("");
		btnFeld3_1.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld3_1.setBackground(Color.WHITE);
		btnFeld3_1.setBounds(104, 266, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld3_1);
		btnFeld[2][0] = btnFeld3_1;

		JButton btnFeld3_2 = new JButton("");
		btnFeld3_2.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld3_2.setBackground(Color.WHITE);
		btnFeld3_2.setBounds(155, 266, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld3_2);
		btnFeld[2][1] = btnFeld3_2;

		JButton btnFeld3_3 = new JButton("");
		btnFeld3_3.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld3_3.setBackground(Color.WHITE);
		btnFeld3_3.setBounds(205, 266, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld3_3);
		btnFeld[2][2] = btnFeld3_3;

		JButton btnFeld3_4 = new JButton("");
		btnFeld3_4.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld3_4.setBackground(Color.WHITE);
		btnFeld3_4.setBounds(256, 266, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld3_4);
		btnFeld[2][3] = btnFeld3_4;

		JButton btnFeld3_5 = new JButton("");
		btnFeld3_5.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld3_5.setBackground(Color.WHITE);
		btnFeld3_5.setBounds(307, 266, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld3_5);
		btnFeld[2][4] = btnFeld3_5;

		JButton btnFeld3_6 = new JButton("");
		btnFeld3_6.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld3_6.setBackground(Color.WHITE);
		btnFeld3_6.setBounds(356, 266, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld3_6);
		btnFeld[2][5] = btnFeld3_6;

		JButton btnFeld4_1 = new JButton("");
		btnFeld4_1.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld4_1.setBackground(Color.WHITE);
		btnFeld4_1.setBounds(104, 319, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld4_1);
		btnFeld[3][0] = btnFeld4_1;

		JButton btnFeld4_2 = new JButton("");
		btnFeld4_2.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld4_2.setBackground(Color.WHITE);
		btnFeld4_2.setBounds(155, 319, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld4_2);
		btnFeld[3][1] = btnFeld4_2;

		JButton btnFeld4_3 = new JButton("");
		btnFeld4_3.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld4_3.setBackground(Color.WHITE);
		btnFeld4_3.setBounds(205, 319, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld4_3);
		btnFeld[3][2] = btnFeld4_3;

		JButton btnFeld4_4 = new JButton("");
		btnFeld4_4.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld4_4.setBackground(Color.WHITE);
		btnFeld4_4.setBounds(256, 319, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld4_4);
		btnFeld[3][3] = btnFeld4_4;

		JButton btnFeld4_5 = new JButton("");
		btnFeld4_5.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld4_5.setBackground(Color.WHITE);
		btnFeld4_5.setBounds(307, 319, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld4_5);
		btnFeld[3][4] = btnFeld4_5;

		JButton btnFeld4_6 = new JButton("");
		btnFeld4_6.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld4_6.setBackground(Color.WHITE);
		btnFeld4_6.setBounds(356, 319, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld4_6);
		btnFeld[3][5] = btnFeld4_6;

		JButton btnFeld5_1 = new JButton("");
		btnFeld5_1.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld5_1.setBackground(Color.WHITE);
		btnFeld5_1.setBounds(104, 369, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld5_1);
		btnFeld[4][0] = btnFeld5_1;

		JButton btnFeld5_2 = new JButton("");
		btnFeld5_2.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld5_2.setBackground(Color.WHITE);
		btnFeld5_2.setBounds(155, 369, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld5_2);
		btnFeld[4][1] = btnFeld5_2;

		JButton btnFeld5_3 = new JButton("");
		btnFeld5_3.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld5_3.setBackground(Color.WHITE);
		btnFeld5_3.setBounds(205, 369, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld5_3);
		btnFeld[4][2] = btnFeld5_3;

		JButton btnFeld5_4 = new JButton("");
		btnFeld5_4.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld5_4.setBackground(Color.WHITE);
		btnFeld5_4.setBounds(256, 369, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld5_4);
		btnFeld[4][3] = btnFeld5_4;

		JButton btnFeld5_5 = new JButton("");
		btnFeld5_5.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld5_5.setBackground(Color.WHITE);
		btnFeld5_5.setBounds(307, 369, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld5_5);
		btnFeld[4][4] = btnFeld5_5;

		JButton btnFeld5_6 = new JButton("");
		btnFeld5_6.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld5_6.setBackground(Color.WHITE);
		btnFeld5_6.setBounds(356, 369, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld5_6);
		btnFeld[4][5] = btnFeld5_6;

		JButton btnFeld6_1 = new JButton("");
		btnFeld6_1.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld6_1.setBackground(Color.WHITE);
		btnFeld6_1.setBounds(104, 420, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld6_1);
		btnFeld[5][0] = btnFeld6_1;

		JButton btnFeld6_2 = new JButton("");
		btnFeld6_2.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld6_2.setBackground(Color.WHITE);
		btnFeld6_2.setBounds(155, 420, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld6_2);
		btnFeld[5][1] = btnFeld6_2;

		JButton btnFeld6_3 = new JButton("");
		btnFeld6_3.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld6_3.setBackground(Color.WHITE);
		btnFeld6_3.setBounds(205, 420, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld6_3);
		btnFeld[5][2] = btnFeld6_3;

		JButton btnFeld6_4 = new JButton("");
		btnFeld6_4.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld6_4.setBackground(Color.WHITE);
		btnFeld6_4.setBounds(256, 420, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld6_4);
		btnFeld[5][3] = btnFeld6_4;

		JButton btnFeld6_5 = new JButton("");
		btnFeld6_5.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld6_5.setBackground(Color.WHITE);
		btnFeld6_5.setBounds(307, 420, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld6_5);
		btnFeld[5][4] = btnFeld6_5;

		JButton btnFeld6_6 = new JButton("");
		btnFeld6_6.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld6_6.setBackground(Color.WHITE);
		btnFeld6_6.setBounds(356, 420, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld6_6);
		btnFeld[5][5] = btnFeld6_6;

		JButton btnFeld7_1 = new JButton("");
		btnFeld7_1.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld7_1.setBackground(Color.WHITE);
		btnFeld7_1.setBounds(104, 473, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld7_1);
		btnFeld[6][0] = btnFeld7_1;

		JButton btnFeld7_2 = new JButton("");
		btnFeld7_2.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld7_2.setBackground(Color.WHITE);
		btnFeld7_2.setBounds(155, 473, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld7_2);
		btnFeld[6][1] = btnFeld7_2;

		JButton btnFeld7_3 = new JButton("");
		btnFeld7_3.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld7_3.setBackground(Color.WHITE);
		btnFeld7_3.setBounds(205, 473, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld7_3);
		btnFeld[6][2] = btnFeld7_3;

		JButton btnFeld7_4 = new JButton("");
		btnFeld7_4.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld7_4.setBackground(Color.WHITE);
		btnFeld7_4.setBounds(256, 473, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld7_4);
		btnFeld[6][3] = btnFeld7_4;

		JButton btnFeld7_5 = new JButton("");
		btnFeld7_5.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld7_5.setBackground(Color.WHITE);
		btnFeld7_5.setBounds(307, 473, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld7_5);
		btnFeld[6][4] = btnFeld7_5;

		JButton btnFeld7_6 = new JButton("");
		btnFeld7_6.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld7_6.setBackground(Color.WHITE);
		btnFeld7_6.setBounds(356, 473, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld7_6);
		btnFeld[6][5] = btnFeld7_6;

		JButton btnFeld8_1 = new JButton("");
		btnFeld8_1.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld8_1.setBackground(Color.WHITE);
		btnFeld8_1.setBounds(104, 524, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld8_1);
		btnFeld[7][0] = btnFeld8_1;

		JButton btnFeld8_2 = new JButton("");
		btnFeld8_2.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld8_2.setBackground(Color.WHITE);
		btnFeld8_2.setBounds(155, 524, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld8_2);
		btnFeld[7][1] = btnFeld8_2;

		JButton btnFeld8_3 = new JButton("");
		btnFeld8_3.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld8_3.setBackground(Color.WHITE);
		btnFeld8_3.setBounds(205, 524, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld8_3);
		btnFeld[7][2] = btnFeld8_3;

		JButton btnFeld8_4 = new JButton("");
		btnFeld8_4.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld8_4.setBackground(Color.WHITE);
		btnFeld8_4.setBounds(256, 524, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld8_4);
		btnFeld[7][3] = btnFeld8_4;

		JButton btnFeld8_5 = new JButton("");
		btnFeld8_5.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld8_5.setBackground(Color.WHITE);
		btnFeld8_5.setBounds(307, 524, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld8_5);
		btnFeld[7][4] = btnFeld8_5;

		JButton btnFeld8_6 = new JButton("");
		btnFeld8_6.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld8_6.setBackground(Color.WHITE);
		btnFeld8_6.setBounds(356, 524, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld8_6);
		btnFeld[7][5] = btnFeld8_6;

		JButton btnFeld9_1 = new JButton("");
		btnFeld9_1.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld9_1.setBackground(Color.WHITE);
		btnFeld9_1.setBounds(104, 574, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld9_1);
		btnFeld[8][0] = btnFeld9_1;

		JButton btnFeld9_2 = new JButton("");
		btnFeld9_2.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld9_2.setBackground(Color.WHITE);
		btnFeld9_2.setBounds(155, 574, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld9_2);
		btnFeld[8][1] = btnFeld9_2;

		JButton btnFeld9_3 = new JButton("");
		btnFeld9_3.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld9_3.setBackground(Color.WHITE);
		btnFeld9_3.setBounds(205, 574, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld9_3);
		btnFeld[8][2] = btnFeld9_3;

		JButton btnFeld9_4 = new JButton("");
		btnFeld9_4.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld9_4.setBackground(Color.WHITE);
		btnFeld9_4.setBounds(256, 574, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld9_4);
		btnFeld[8][3] = btnFeld9_4;

		JButton btnFeld9_5 = new JButton("");
		btnFeld9_5.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld9_5.setBackground(Color.WHITE);
		btnFeld9_5.setBounds(307, 574, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld9_5);
		btnFeld[8][4] = btnFeld9_5;

		JButton btnFeld9_6 = new JButton("");
		btnFeld9_6.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld9_6.setBackground(Color.WHITE);
		btnFeld9_6.setBounds(356, 574, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld9_6);
		btnFeld[8][5] = btnFeld9_6;

		JButton btnFeld2_7 = new JButton("");
		btnFeld2_7.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld2_7.setBackground(Color.WHITE);
		btnFeld2_7.setBounds(409, 217, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld2_7);
		btnFeld[1][6] = btnFeld2_7;

		JButton btnFeld2_8 = new JButton("");
		btnFeld2_8.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld2_8.setBackground(Color.WHITE);
		btnFeld2_8.setBounds(460, 217, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld2_8);
		btnFeld[1][7] = btnFeld2_8;

		JButton btnFeld2_9 = new JButton("");
		btnFeld2_9.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld2_9.setBackground(Color.WHITE);
		btnFeld2_9.setBounds(510, 217, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld2_9);
		btnFeld[1][8] = btnFeld2_9;

		JButton btnFeld3_7 = new JButton("");
		btnFeld3_7.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld3_7.setBackground(Color.WHITE);
		btnFeld3_7.setBounds(409, 266, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld3_7);
		btnFeld[2][6] = btnFeld3_7;

		JButton btnFeld3_8 = new JButton("");
		btnFeld3_8.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld3_8.setBackground(Color.WHITE);
		btnFeld3_8.setBounds(460, 266, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld3_8);
		btnFeld[2][7] = btnFeld3_8;

		JButton btnFeld3_9 = new JButton("");
		btnFeld3_9.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld3_9.setBackground(Color.WHITE);
		btnFeld3_9.setBounds(510, 266, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld3_9);
		btnFeld[2][8] = btnFeld3_9;

		JButton btnFeld4_7 = new JButton("");
		btnFeld4_7.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld4_7.setBackground(Color.WHITE);
		btnFeld4_7.setBounds(409, 319, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld4_7);
		btnFeld[3][6] = btnFeld4_7;

		JButton btnFeld4_8 = new JButton("");
		btnFeld4_8.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld4_8.setBackground(Color.WHITE);
		btnFeld4_8.setBounds(460, 319, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld4_8);
		btnFeld[3][7] = btnFeld4_8;

		JButton btnFeld4_9 = new JButton("");
		btnFeld4_9.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld4_9.setBackground(Color.WHITE);
		btnFeld4_9.setBounds(510, 319, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld4_9);
		btnFeld[3][8] = btnFeld4_9;

		JButton btnFeld5_7 = new JButton("");
		btnFeld5_7.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld5_7.setBackground(Color.WHITE);
		btnFeld5_7.setBounds(409, 369, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld5_7);
		btnFeld[4][6] = btnFeld5_7;

		JButton btnFeld5_8 = new JButton("");
		btnFeld5_8.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld5_8.setBackground(Color.WHITE);
		btnFeld5_8.setBounds(460, 369, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld5_8);
		btnFeld[4][7] = btnFeld5_8;

		JButton btnFeld5_9 = new JButton("");
		btnFeld5_9.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld5_9.setBackground(Color.WHITE);
		btnFeld5_9.setBounds(510, 369, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld5_9);
		btnFeld[4][8] = btnFeld5_9;

		JButton btnFeld6_7 = new JButton("");
		btnFeld6_7.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld6_7.setBackground(Color.WHITE);
		btnFeld6_7.setBounds(409, 420, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld6_7);
		btnFeld[5][6] = btnFeld6_7;

		JButton btnFeld6_8 = new JButton("");
		btnFeld6_8.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld6_8.setBackground(Color.WHITE);
		btnFeld6_8.setBounds(460, 420, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld6_8);
		btnFeld[5][7] = btnFeld6_8;

		JButton btnFeld6_9 = new JButton("");
		btnFeld6_9.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld6_9.setBackground(Color.WHITE);
		btnFeld6_9.setBounds(510, 420, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld6_9);
		btnFeld[5][8] = btnFeld6_9;

		JButton btnFeld7_7 = new JButton("");
		btnFeld7_7.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld7_7.setBackground(Color.WHITE);
		btnFeld7_7.setBounds(409, 473, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld7_7);
		btnFeld[6][6] = btnFeld7_7;

		JButton btnFeld7_8 = new JButton("");
		btnFeld7_8.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld7_8.setBackground(Color.WHITE);
		btnFeld7_8.setBounds(460, 473, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld7_8);
		btnFeld[6][7] = btnFeld7_8;

		JButton btnFeld7_9 = new JButton("");
		btnFeld7_9.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld7_9.setBackground(Color.WHITE);
		btnFeld7_9.setBounds(510, 473, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld7_9);
		btnFeld[6][8] = btnFeld7_9;

		JButton btnFeld8_7 = new JButton("");
		btnFeld8_7.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld8_7.setBackground(Color.WHITE);
		btnFeld8_7.setBounds(409, 524, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld8_7);
		btnFeld[7][6] = btnFeld8_7;

		JButton btnFeld8_8 = new JButton("");
		btnFeld8_8.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld8_8.setBackground(Color.WHITE);
		btnFeld8_8.setBounds(460, 524, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld8_8);
		btnFeld[7][7] = btnFeld8_8;

		JButton btnFeld8_9 = new JButton("");
		btnFeld8_9.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld8_9.setBackground(Color.WHITE);
		btnFeld8_9.setBounds(510, 524, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld8_9);
		btnFeld[7][8] = btnFeld8_9;

		JButton btnFeld9_7 = new JButton("");
		btnFeld9_7.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld9_7.setBackground(Color.WHITE);
		btnFeld9_7.setBounds(409, 574, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld9_7);
		btnFeld[8][6] = btnFeld9_7;

		JButton btnFeld9_8 = new JButton("");
		btnFeld9_8.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld9_8.setBackground(Color.WHITE);
		btnFeld9_8.setBounds(460, 574, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld9_8);
		btnFeld[8][7] = btnFeld9_8;

		JButton btnFeld9_9 = new JButton("");
		btnFeld9_9.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnFeld9_9.setBackground(Color.WHITE);
		btnFeld9_9.setBounds(510, 574, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnFeld9_9);
		btnFeld[8][8] = btnFeld9_9;
		
		final JLabel lblFalscheZahlen = new JLabel("Diese Zahlen passen nicht in das Feld:");
		lblFalscheZahlen.setFont(new Font("Lucida Grande", Font.PLAIN, 15));
		lblFalscheZahlen.setBounds(114, 636, 446, 16);
		frmSudokuSpiellehrMit.getContentPane().add(lblFalscheZahlen);

		for (byte byteZeile = 0; byteZeile < 9; byteZeile++) {
			for (byte byteSpalte = 0; byteSpalte < 9; byteSpalte++) {
				final byte byteFinalZeile = byteZeile;
				final byte byteFinalSpalte = byteSpalte;
				btnFeld[byteZeile][byteSpalte]
						.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent e) {
								byteSpaltenWert = byteFinalSpalte;
								byteZeilenWert = byteFinalZeile;
								try {
									Clip clip = AudioSystem.getClip();
									AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(GrundGUI.class
											.getResource(stoneClickSound));
									clip.open(audioInputStream);
									clip.start();
									audioInputStream.close();
								} catch (Exception exception) {
									System.err.println(exception.getMessage());
								}
								if (strFalscheZahlen[byteZeilenWert][byteSpaltenWert]==null){
									
								}
								else {
								lblFalscheZahlen.setText("Falsche Zahlen: " + strFalscheZahlen[byteZeilenWert][byteSpaltenWert]);
								}
							}
						});
			}
		}

		// Label welches das Feld repräsentiert
		JLabel lblSudokuFeld = new JLabel("1");
		lblSudokuFeld.setToolTipText("");
		lblSudokuFeld.setIcon(new ImageIcon(GrundGUI.class
				.getResource("/Bilder/SudokuFeld.gif")));
		lblSudokuFeld.setBounds(0, 119, 643, 514);
		frmSudokuSpiellehrMit.getContentPane().add(lblSudokuFeld);

		// Label welches Keks und Krümel darstellt
		JLabel lblKeksKruemel = new JLabel("");
		lblKeksKruemel.setIcon(new ImageIcon(GrundGUI.class
				.getResource("/Bilder/Keks-&-KruemelKlein.gif")));
		lblKeksKruemel.setBounds(332, 61, 780, 344);
		frmSudokuSpiellehrMit.getContentPane().add(lblKeksKruemel);

		/*
		 * Im Folgenden werden die Labels für die Sterne deklariert, welche den
		 * aktuellen Schwierigkeitsgrad anzeigen.
		 */
		JLabel lblSternEins = new JLabel("");
		lblSternEins.setToolTipText("Die Sterne zeigen die Schwierigkeit an.");
		lblSternEins.setIcon(new ImageIcon(GrundGUI.class
				.getResource("/Bilder/SudokuSternLeer.gif")));
		lblSternEins.setBounds(104, 92, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(lblSternEins);
		this.lblSternEins = lblSternEins;

		JLabel lblSternZwei = new JLabel("");
		lblSternZwei.setToolTipText("Die Sterne zeigen die Schwierigkeit an.");
		lblSternZwei.setIcon(new ImageIcon(GrundGUI.class
				.getResource("/Bilder/SudokuSternLeer.gif")));
		lblSternZwei.setBounds(155, 92, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(lblSternZwei);
		this.lblSternZwei = lblSternZwei;

		JLabel lblSternDrei = new JLabel("");
		lblSternDrei.setToolTipText("Die Sterne zeigen sie Schwierigkeit an.\r\n");
		lblSternDrei.setIcon(new ImageIcon(GrundGUI.class
				.getResource("/Bilder/SudokuSternLeer.gif")));
		lblSternDrei.setBounds(205, 92, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(lblSternDrei);
		this.lblSternDrei = lblSternDrei;

		// Button um das Spiel zu beenden.
		JButton btnBeenden = new JButton("");
		btnBeenden.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				System.exit(0);
			}
		});
		btnBeenden.setContentAreaFilled(false);
		btnBeenden.setIcon(new ImageIcon(GrundGUI.class
				.getResource("/Bilder/SudokuEnde.gif")));
		btnBeenden.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnBeenden.setBackground(Color.WHITE);
		btnBeenden.setBounds(922, 23, 79, 82);
		frmSudokuSpiellehrMit.getContentPane().add(btnBeenden);

		// Im Folgenden werden die Buttons für das Zahlenfeld zur Eingabe
		// deklariert
		JButton btnZahlenfeld_1 = new JButton("1");
		btnZahlenfeld_1.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnZahlenfeld_1.setBackground(Color.WHITE);
		btnZahlenfeld_1.setBounds(639, 401, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnZahlenfeld_1);

		JButton btnZahlenfeld_2 = new JButton("2");
		btnZahlenfeld_2.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnZahlenfeld_2.setBackground(Color.WHITE);
		btnZahlenfeld_2.setBounds(696, 401, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnZahlenfeld_2);

		JButton btnZahlenfeld_3 = new JButton("3");
		btnZahlenfeld_3.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnZahlenfeld_3.setBackground(Color.WHITE);
		btnZahlenfeld_3.setBounds(750, 401, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnZahlenfeld_3);

		JButton btnZahlenfeld_4 = new JButton("4");
		btnZahlenfeld_4.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnZahlenfeld_4.setBackground(Color.WHITE);
		btnZahlenfeld_4.setBounds(639, 457, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnZahlenfeld_4);

		JButton btnZahlenfeld_5 = new JButton("5");
		btnZahlenfeld_5.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnZahlenfeld_5.setBackground(Color.WHITE);
		btnZahlenfeld_5.setBounds(696, 457, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnZahlenfeld_5);

		JButton btnZahlenfeld_6 = new JButton("6");
		btnZahlenfeld_6.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnZahlenfeld_6.setBackground(Color.WHITE);
		btnZahlenfeld_6.setBounds(750, 457, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnZahlenfeld_6);

		JButton btnZahlenfeld_7 = new JButton("7");
		btnZahlenfeld_7.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnZahlenfeld_7.setBackground(Color.WHITE);
		btnZahlenfeld_7.setBounds(639, 512, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnZahlenfeld_7);

		JButton btnZahlenfeld_8 = new JButton("8");
		btnZahlenfeld_8.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnZahlenfeld_8.setBackground(Color.WHITE);
		btnZahlenfeld_8.setBounds(696, 512, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnZahlenfeld_8);

		JButton btnZahlenfeld_9 = new JButton("9");
		btnZahlenfeld_9.setFont(new Font("SansSerif", Font.PLAIN, 19));
		btnZahlenfeld_9.setBackground(Color.WHITE);
		btnZahlenfeld_9.setBounds(750, 512, 50, 50);
		frmSudokuSpiellehrMit.getContentPane().add(btnZahlenfeld_9);
		
		btnZahlenFeld[0] = btnZahlenfeld_1;
		btnZahlenFeld[1] = btnZahlenfeld_2;
		btnZahlenFeld[2] = btnZahlenfeld_3;
		btnZahlenFeld[3] = btnZahlenfeld_4;
		btnZahlenFeld[4] = btnZahlenfeld_5;
		btnZahlenFeld[5] = btnZahlenfeld_6;
		btnZahlenFeld[6] = btnZahlenfeld_7;
		btnZahlenFeld[7] = btnZahlenfeld_8;
		btnZahlenFeld[8] = btnZahlenfeld_9;
		
		// Zuweisen der Eintragemethode an das Zahlenfeld
		for (byte byteZaehler = 0; byteZaehler < 9; byteZaehler++) {
			final byte byteFinalEingabe = (byte)(byteZaehler+1);
			btnZahlenFeld[byteZaehler].addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent e) {
					// Zuerst wird geprüft, ob das Sudoku-Objekt schon vorhanden ist
					if (sudoku!=null) {
						if (btnFeld[byteZeilenWert][byteSpaltenWert].getText() == "") {
							sudoku.byteSudokuFeld[byteZeilenWert][byteSpaltenWert] = byteFinalEingabe;
							if (new SudokuLoeser(sudoku).nichtLoesbarMitBacktracking()) {
								sudoku.byteSudokuFeld[byteZeilenWert][byteSpaltenWert] = 0;
								if (strFalscheZahlen[byteZeilenWert][byteSpaltenWert].contains("" + byteFinalEingabe)) {				
								}
								else {
								strFalscheZahlen[byteZeilenWert][byteSpaltenWert] = strFalscheZahlen[byteZeilenWert][byteSpaltenWert] + byteFinalEingabe + ", ";
								}
							}
							else {
							btnFeld[byteZeilenWert][byteSpaltenWert].setText("" + byteFinalEingabe);
							btnFeld[byteZeilenWert][byteSpaltenWert].setBackground(Color.WHITE);
							}
					}
						if (sudoku.pruefeObVollstaendig()) {
							try {
								Clip clip = AudioSystem.getClip();
								AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(GrundGUI.class
										.getResource(wonGame));
								clip.open(audioInputStream);
								clip.start();
								audioInputStream.close();
							} catch (Exception exception) {
								System.err.println(exception.getMessage());
							}
							stoppuhr.setBZeitLaeuft(false);
						}
					}
					// Wenn das Sudkou-Objekt noch nicht vorhanden ist, soll die Funktion der Buttons deaktiviert werden
					else {
						
					}
				}
			});
		}

		JButton btnNeuesSpiel = new JButton("");
		btnNeuesSpiel.setToolTipText("Hiermit kannst du ein neues Spiel anfangen! ");
		btnNeuesSpiel.setIcon(new ImageIcon(GrundGUI.class.getResource("/Bilder/LosGehtsButton.gif")));
		btnNeuesSpiel.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				try {
					SpielAuswahlFenster spielAuswahlFenster = new SpielAuswahlFenster(window);
					spielAuswahlFenster.setLocation(425, 300);
					spielAuswahlFenster.setAlwaysOnTop(true);
					spielAuswahlFenster.setVisible(true);
					spielAuswahlFenster.setStoppuhr(stoppuhr);
				} catch (Exception exception) {
					System.err.println(exception.getMessage());
				}
			}
		});
		btnNeuesSpiel.setBounds(850, 574, 140, 166);
		btnNeuesSpiel.setContentAreaFilled(false);
		frmSudokuSpiellehrMit.getContentPane().add(btnNeuesSpiel);
		
		JLabel lblUhr = new JLabel("");
		lblUhr.setToolTipText("Hier siehst du wie lange du schon dieses Spiel spielst.");
		lblUhr.setIcon(null);
		lblUhr.setHorizontalAlignment(SwingConstants.CENTER);
		lblUhr.setFont(new Font("Lucida Grande", Font.PLAIN, 20));
		lblUhr.setBounds(611, 585, 214, 50);
		frmSudokuSpiellehrMit.getContentPane().add(lblUhr);
		GrundGUI.lblUhr = lblUhr;
		
		JLabel lblNewLabel = new JLabel("");
		lblNewLabel.setIcon(new ImageIcon(GrundGUI.class.getResource("/Bilder/UhrHintergrund.gif")));
		lblNewLabel.setBounds(585, 575, 209, 120);
		frmSudokuSpiellehrMit.getContentPane().add(lblNewLabel);
		
		JLabel lblSchwierigkeitsGradTooltip = new JLabel("");
		lblSchwierigkeitsGradTooltip.setToolTipText("Hier siehst du wie schwer dein Sudoku ist!");
		lblSchwierigkeitsGradTooltip.setBounds(93, 91, 173, 55);
		frmSudokuSpiellehrMit.getContentPane().add(lblSchwierigkeitsGradTooltip);
		
		JButton btnPause = new JButton("");
		btnPause.setToolTipText("Wenn du eine Pause machen möchtest, kannst du hier klicken.");
		btnPause.setIcon(new ImageIcon(GrundGUI.class.getResource("/Bilder/Pausebutton.gif")));
		btnPause.setBounds(682, 647, 72, 69);
		btnPause.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				if (stoppuhr != null) {
					stoppuhr.setBZeitLaeuft(false);
					frmSudokuSpiellehrMit.setEnabled(false);
					PausenFenster fenster = new PausenFenster();
					fenster.setStoppuhr(stoppuhr);
					fenster.setLocation(350, 350);
					fenster.setGrundGUI(window);
					fenster.getContentPane().setBackground(frmSudokuSpiellehrMit.getContentPane().getBackground());
					fenster.setAlwaysOnTop(true);
					fenster.setVisible(true);
				}
			}
		});
		btnPause.setContentAreaFilled(false);
		frmSudokuSpiellehrMit.getContentPane().add(btnPause);
		
		JButton btnAuflsen = new JButton("Auflösen!");
		btnAuflsen.setToolTipText("Hiermit kannst du dir die Lösung des Sudokus anzeigen lassen.");
		this.btnAuflsn = btnAuflsen;
		btnAuflsen.setEnabled(false);
		btnAuflsen.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				Loesungsfenster loesungsfenster = new Loesungsfenster();
				loesungsfenster.setVisible(true);
				loesungsfenster.getJPane().setBackground(frmSudokuSpiellehrMit.getContentPane().getBackground());
				loesungsfenster.setLocation(425, 300);
				stoppuhr.setBZeitLaeuft(false);
				loesungsfenster.setGrundGUI(window);
				frmSudokuSpiellehrMit.setEnabled(false);
				loesungsfenster.setAlwaysOnTop(true);
			}
		});
		btnAuflsen.setFont(new Font("Lucida Grande", Font.PLAIN, 15));
		btnAuflsen.setBounds(256, 674, 145, 40);
		frmSudokuSpiellehrMit.getContentPane().add(btnAuflsen);
		
		JButton btnSpeichern = new JButton("Speichern");
		btnSpeichern.setToolTipText("Hiermit kannst du dein eigenes Sudoku speichern.");
		btnSpeichern.setEnabled(false);
		btnSpeichern.setVisible(false);
		btnSpeichern.setBounds(60, 674, 145, 40);
		frmSudokuSpiellehrMit.getContentPane().add(btnSpeichern);
		
	}
	
	public JButton getBtnAuflsn() {
		return btnAuflsn;
	}


	public JLabel getLblSternEins() {
		return lblSternEins;
	}

	public JLabel getLblSternZwei() {
		return lblSternZwei;
	}

	public JLabel getLblSternDrei() {
		return lblSternDrei;
	}

	public static JLabel getLblUhr() {
		return lblUhr;
	}

	public Stoppuhr getStoppuhr() {
		return stoppuhr;
	}

	public void setStoppuhr(Stoppuhr stoppuhr) {
		this.stoppuhr = stoppuhr;
	}
}
